总结一下JS中遍历常用的一些方法。
1.for 循环
let arr = [1, 2, 3, 4] |
这是一种常用的遍历方法,可以在 for 循环中使用 break
和 continue
方法来跳出。
2. for…in (对象也可以使用)
let arr = [1, 2, 3, 4] |
for...in
循环不仅可以遍历对象,也可以遍历数组。当 “对象” 为数组时,“变量” 指的是数组的 “索引”,当 “对象” 为对象是,“变量” 指的是对象的 “属性”。
但是因为还会遍历非键值,以及原型属性所以尽量不要使用。
3. for…of
let arr = [1, 2, 3, 4] |
与 for…in 不同的是,for…of 返回的直接是值。而 for…in 得到的是 key,且 for…of 无法遍历对象。
4. map()
let numbers = [1, 2, 3] |
map
方法将数组的所有成员依次传入参数函数,然后把每一次的执行结果组成一个新数组返回。
map
方法接受一个函数作为参数。该函数调用时,map
方法向它传入三个参数:当前成员、当前位置和数组本身。该方法不会改变原数组。
5. forEach()
let numbers = [1, 2, 3] |
forEach
和 map
的区别是它只操作数据本身,并没有返回值。而 map
会返回一个新的数组~,但是相同点是它们的参数函数都可以传入三个参数。该方法不会改变原数组。
6. filter()
[1, 2, 3, 4, 5].filter((elem) => { |
filter
方法用于过滤数组成员,满足条件的成员组成一个新数组返回。
它的参数是一个函数,所有数组成员依次执行该函数,返回结果为true
的成员组成一个新数组返回。该方法不会改变原数组。
7. some()
let arr = [1, 2, 3, 4, 5]; |
some
方法是用来判断数组的内容是否符合某种条件。接受的参数和 map, forEach 一样。
some
方法是只要一个成员的返回值是true
,则整个some
方法的返回值就是true
,否则返回false
。且只要有一个成员能返回 true,那么遍历就会停止!
和 some
相似的还有 every
。
8. every()
let arr = [1, 2, 3, 4, 5]; |
every
的区别是,当所有成员都返回 true
的时候,才会返回 true
。且只要有一个成员能返回 false,那么遍历就会停止!